

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script type="text/javascript" src="helpman_topicinit.js"></script>

<title>Technology Developers [Enterprise Architect User Guide]</title>

<meta name="keywords" content="Enterprise Architect, Sparx Systems, UML, Project Role,Project Role Technology Developer,Technology Developer,Technology Developer Project Role,Technology Developer And Enterprise Architect,Enterprise Architect,Enterprise Architect For Technology Developers">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />

<link type="text/css" href="default.css" rel="stylesheet" />
<style type="text/css">
  A, A:Visited
  {
    color: #00F;
  }

  A:Active, A:Hover
  {
    color: #F00;
  }

  OL
  {
    margin: 5px 0 5px 48px;
  }

  UL
  {
    margin-bottom: 3px;
    margin-top: 0;
  }

  #nsr
  {
    background-color: #D4DFFF;
  }

  #nsr A
  {
    text-decoration: none;
  }

  #mainbody
  {
    padding: 8px;
  }

  .p_BodyText
  {
    padding: 5px 0;
  }
</style>



<style type="text/css" media="screen">
  BODY
  {
    background-color: #FFFFFF;
  }

  #nsr
  {
    padding: 6px 6px 0 6px;
    border-bottom: none;
    vertical-align: top;
    z-index: 2;
    visibility: visible;
    left: 0;
    top: 0;
    position: absolute;
  }

  #mainbody
  {
    left: 0;
    top: 0;
    margin: 0;
    position: absolute;
    padding: 10px;
    overflow: auto;
    height: 100%;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-attachment: fixed;
  }
</style>

<style type="text/css" media="print">
  #nsr
  {
    visibility: none;
  }

  #mainbody
  {
    overflow: visible;
  }
</style>
<script type="text/javascript" language="JavaScript" src="nonscroll.js"></script>

</head>
<body scroll="no">

<div id="page">



        <div id="content">
          <div id="content-inner">
          



  
          <div id="nsr">
            <table border="0" cellspacing="0" cellpadding="4" width="100%">
              <tr valign="top">
                <td align="left">
  


                  <p class="p_Heading1"><span class="f_Heading1">Technology Developers</span></p>



  
                </td>
                <td align="right">
                  <a href="introduction.htm" onmouseover="document.images.main.src='button_main_h.gif'" onmouseout="document.images.main.src='button_main.gif'">
                    <img name="main" src="button_main.gif" border=0 alt="Return to Introduction">
                  </a>&nbsp;
    
                  <a href="deploymentandrollout.htm" onmouseover="document.images.prev.src='button_prev_h.gif'" onmouseout="document.images.prev.src='button_prev.gif'">
                    <img name=prev src="button_prev.gif" border=0 alt="Previous page" />
                  </a>&nbsp;
    
    
    
                  <a href="databaseadminstrator.htm" onmouseover="document.images.next.src='button_next_h.gif'" onmouseout="document.images.next.src='button_next.gif'">
                    <img name=next src="button_next.gif" border=0 alt="Next page" />
                  </a>
    
    
                </td>
              </tr>
            </table>
          </div>
          <div id="mainbody">
  


                <p class="p_BodyText"><span class="f_BodyText">Technology Developers are Enterprise Architect users who create customized additions to the functionality already present within Enterprise Architect. These additions include UML Profiles, UML Patterns, Code Templates, Tagged Value Types, MDG Technologies and Enterprise Architect Add-Ins. By creating these extensions the Technology Developer can customize the Enterprise Architect modeling process to specific tasks and speed up development.</span></p>
<p class="p_BodyText"><span class="f_BodyText">The following illustration shows a customized view created using an Add-In.</span></p>
<p class="p_TextIndentedL2"><img src="add_in.png" width="906" height="611" border="0" alt="Add_in"></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">UML Profiles</span></p>
<p class="p_BodyText"><span class="f_BodyText">By creating </span><span class="f_Bulletlist1"><a href="umlprofiles.htm">UML Profiles</a></span><span class="f_BodyText"> the technology developer can create a customized extension for building UML models that are specific to a particular domain. Profiles are stored as XML files and can be imported into any model as required.</span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">UML Patterns</span></p>
<p class="p_BodyText"><span class="f_Bulletlist1"><a href="umlpatterns.htm">Patterns</a></span><span class="f_BodyText"> are sets of collaborating Objects and Classes that provide a generic template for repeatable solutions to modeling problems. As patterns are discovered in any new project, the basic pattern template can be created. Patterns can be re-used with the appropriate variable names modified for any future project.</span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Code Templates</span></p>
<p class="p_BodyText"><span class="f_Bulletlist1"><a href="codetemplates.htm">Code Templates</a> </span><span class="f_BodyText">are used to customize the output of source code generated by Enterprise Architect. This enables the generation of code languages not specifically supported by Enterprise Architect and enables you to define the way Enterprise Architect generates source code to comply with your own company style guidelines.</span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Tagged Value Types</span></p>
<p class="p_BodyText"><span class="f_BodyText" style="font-style: italic;">Tagged Values</span><span class="f_BodyText"> are used in Enterprise Architect to extend the information relating to an element in addition to the information directly supported by the UML language. A </span><span class="f_BodyText">Tagged Value</span><span class="f_BodyText">, strictly, is the </span><span class="f_BodyText" style="font-style: italic;">value</span><span class="f_BodyText"> of a property of a modeling <a href="thetaggedvaluestab.htm#ModelFeatures">item</a>, the property being called a </span><span class="f_BodyText" style="font-style: italic;">tag</span><span class="f_BodyText">. For example, a Class element called </span><span class="f_BodyText" style="font-style: italic;">Person</span><span class="f_BodyText"> might have a tag called </span><span class="f_BodyText" style="font-weight: bold;">Age</span><span class="f_BodyText"> with the Tagged Value of </span><span class="f_BodyText" style="font-weight: bold;">42</span><span class="f_BodyText">. More loosely, the combination of tag and value can be referred to as a Tagged Value.</span></p>
<p class="p_BodyText"><span class="f_BodyText">A </span><span class="f_BodyText" style="font-style: italic;"><a href="propertytypes.htm">Tagged Value Type</a></span><span class="f_BodyText"> is a group of parameters that define and/or limit the possible values of a tag and, in many instances, how a specific value is assigned to the tag. For example, the tag </span><span class="f_BodyText" style="font-weight: bold;">Age</span><span class="f_BodyText"> might have a Tagged Value Type of </span><span class="f_BodyText" style="font-weight: bold;">Integer</span><span class="f_BodyText">, so the user simply types in a numeric value. Alternatively, the type could be </span><span class="f_BodyText" style="font-weight: bold;">Spin</span><span class="f_BodyText">, with lower and upper limits of, say, </span><span class="f_BodyText" style="font-weight: bold;">20</span><span class="f_BodyText"> and </span><span class="f_BodyText" style="font-weight: bold;">120</span><span class="f_BodyText">, so the user sets a value by clicking on arrows in the field to increment or decrement the value within the limits of 20 and 120.</span></p>
<p class="p_BodyText"><span class="f_BodyText">Typically, Tagged Values are used during the code generation process, or by other tools to pass on information that is used to operate on elements in particular ways.</span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">MDG Technologies</span></p>
<p class="p_BodyText"><span class="f_BodyText"><a href="mdgtechnologies.htm">MDG Technologies</a> can be used to create a logical collection of resources that can contain UML Profiles, Patterns, Code Templates, Image files and Tagged Value types that are accessed through a technology file.</span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Enterprise Architect Add-Ins</span></p>
<p class="p_BodyText"><span class="f_BodyText"><a href="addins_2.htm">Enterprise Architect Add-Ins</a> enable you to build your own functionality into Enterprise Architect, creating your own mini programs that can extend the capabilities of Enterprise Architect, defining your own menus, and creating your own Custom Views.</span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">The Enterprise Architect Software Developers' Kit</span></p>
<p class="p_BodyText"><span class="f_BodyText">For explanations of how the features identified above are used within Enterprise Architect, see </span><span class="f_BodyText" style="font-style: italic;"><a href="extending_uml.htm">Extending UML</a> </span><span class="f_BodyText">. However, </span><span class="f_BodyText" style="font-style: italic;"><a href="introduction_2.htm">SDK for Enterprise Architect</a></span><span class="f_BodyText"> explains in detail how to </span><span class="f_BodyText" style="font-style: italic;">develop and integrate</span><span class="f_BodyText"> these facilities.</span></p>




            </div>
          </div>
        </div>



</div>


</body>
</html>
